Today's dynamic business landscape generally demands fast responses from companies in order to address both customer and market needs, typically requiring several different teams to work simultaneously on application customizations while sharing the same data model and configuration starting point. Sandboxes may be used to allow companies to meet these requirements, avoid the risk of conflicts that may result from multiple teams working in parallel, and give administrators the ability to test all customizations before end users ever see them.
Sandboxes generally provide robust out-of-the-box functionality to help isolate and control customization efforts without impacting other users' configuration environments and/or the production environment. Sandboxes generally allow users to make changes isolated from the mainline application (i.e., the source of data and definitions used at the time of creating a new sandbox) as well as from other sandboxes.
Business analysts can implement and test application customizations in a sandbox and, once satisfied, publish them back to the mainline. When making changes in a sandbox, customizations are typically not available to any other sandbox or to the mainline application until the sandbox has been published. The publishing of a sandbox generally involves the included application customizations overwriting the mainline application's existing configuration.
However, there are many use cases where users wish to make changes that they don't want others to see until they are completely satisfied with them. Consider an example in which a user for an Entity is working on his hiring plan, updating his employee headcounts, and assessing potential impacts of various combinations. To assess the complete impact on his expenses [and thus revenue] the user must save the data every time and run Rules. Once the user saves the data, it becomes available to everybody who has access to the Entity and associated accounts, which means that they could be seeing data that is not final. It should be noted that scenarios involving what-if analysis generally have this problem.
Consider another example in which a user starts with a new project and has done his Expense Planning but has yet to complete his Revenue Planning. Since the numbers for Expense Planning are saved, such data may be used in calculations that are subsequently run, a scenario the user likely wishes to avoid until the Project Planning is complete. That is, the user would have liked to work on the Plan in a separate area that doesn't affect others until the Plan is complete.
Accordingly, there remains a need for improved sandbox functionality, particularly with regard to financial-related planning.